package easy;

import org.junit.Test;

public class a665_非递减数列 {
    //    public boolean checkPossibility(int[] nums) {
//        int n = nums.length, cnt = 0;
//        for (int i = 0; i < n - 1; ++i) {
//            int x = nums[i], y = nums[i + 1];
//            if (x > y) {
//                cnt++;
//                if (cnt > 1) {
//                    return false;
//                }
//                if (i > 0 && y < nums[i - 1]) {
//                    nums[i + 1] = x;
//                }
//            }
//        }
//        return true;
//    }
    public boolean checkPossibility(int[] nums) {
        int count=0;
        for(int i=1;i<nums.length;i++){
            if(nums[i]<nums[i-1]){
                if(i==1||nums[i]>=nums[i-2]){
                    nums[i-1]=nums[i];
                }else {
                    nums[i]=nums[i-1];
                }
                count++;
            }
        }
        return count<=1;
    }

    @Test
    public void test() {
        int arr[] = new int[]{1,4,1,3};
        System.out.println(checkPossibility(arr));
    }
}
